package jp.ddo.trismegistos.action.impl.entry;

import jp.ddo.trismegistos.RsStatics;
import jp.ddo.trismegistos.action.impl.AbstractAction;
import jp.ddo.trismegistos.annotation.LoginCheck;
import jp.ddo.trismegistos.exception.RsException;

import org.apache.commons.lang.StringUtils;

/**
 * @author Nagai Satoshi
 */
@LoginCheck
public class ConfirmAction extends AbstractAction {

	/**
	 * {@inheritDoc}
	 * 
	 * @see jp.ddo.trismegistos.action.Action#execute()
	 */
	@Override
	public String execute() throws RsException {
		setSession("title", getRequest("title"));
		setSession("text", getRequest("text"));
		return "entry/confirm.jsp";
	}

	@Override
	public void validate() {
		final String title = getParameter("title");
		final String text = getParameter("text");

		setRequest("title", title);
		setRequest("text", text);

		if (StringUtils.isBlank(title)) {
			addErrors("タイトルが未入力です。");
		}
		if (title.length() > RsStatics.TITLE_MAX_LENGTH) {
			addErrors("タイトルの文字数は30文字以内にしてください。");
		}
		if (StringUtils.isBlank(text)) {
			addErrors("本文が未入力です。");
		}
		if (text.length() > RsStatics.TEXT_MAX_LENGTH) {
			addErrors("本文の文字数は2000文字以内にしてください。");
		}
	}
}
